/*
 * Copyright (C) 2017 MediaTek Inc.
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 as
 * published by the Free Software Foundation.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 * GNU General Public License for more details.
 */

#ifndef _MTK_MDPM_PLATFORM_DATA_H_
#define _MTK_MDPM_PLATFORM_DATA_H_

static struct scenario_power_type_t md_scen_power[SCENARIO_NUM] = {
	[S_STANDBY]		= {    1,    1},
	[S_2G_IDLE]		= {    1,    1},
	[S_2G_NON_IDLE]		= {   48,   48},
	[S_C2K_DATALINK]	= {   97,   97},
	[S_C2K_SHDR]		= {   50,   50},
	[S_C2K_1X_TRAFFIC]	= {   88,   88},
	[S_3G_TDD_PAGING]	= {   65,   65},
	[S_3G_TDD_TALKING]	= {   94,   94},
	[S_3G_TDD_DATALINK]	= {   88,   88},
	[S_3G_IDLE]		= {    4,    4},
	[S_3G_WCDMA_TALKING]	= {   85,   85},
	[S_3G_1C]		= {  132,  132},
	[S_3G_2C]		= {  147,  147},
	[S_4G_0D0U]		= {    4,    4},
	[S_4G_1CC]		= {  195,  195},
	[S_4G_2CC]		= {  202,  202},
	[S_4G_3CC]		= {  522,  522},
	[S_4G_4CC]		= {  563,  563},
	[S_4G_5CC]		= {  563,  563},
	[S_5G_1CC_2CC]		= {  960,  960},
	[S_5G_1CC_2CC_4G_4CC]	= {  913,  913},
	[S_5G_1CC_2CC_4G_1CC]	= {  913,  913},
	[S_4G_POS_URGENT]	= {  556,  556}
};

static struct rfhw_power_t rfhw0[TX_DBM_NUM] = {
	[TX_2G_DBM] = {
		.pa_power = {
			{  680,  420,  340,  268,  212,  172,
			   144,  120,  100,   86,   73,   60},   /*MAX*/
			{  680,  420,  340,  268,  212,  172,
			   144,  120,  100,   86,   73,   60} }, /*AVG*/
		.rf_power = {
			{  117,  117,  117,  117,  117,  117,
			   117,  117,  117,  117,  117,  117},   /*MAX*/
			{  117,  117,  117,  117,  117,  117,
			   117,  117,  117,  117,  117,  117} }, /*AVG*/
		.section = {
			31, 29, 27, 25, 23, 21, 19, 17, 15, 13,  9,  0}
	},

	[TX_3G_DBM] = {
		.pa_power = {
			{ 2472, 2164, 1992, 1320, 1180,  900,
			   640,  556,  460,  328,  260,  244},   /*MAX*/
			{ 2472, 2164, 1992, 1320, 1180,  900,
			   640,  556,  460,  328,  260,  244} }, /*AVG*/
		.rf_power = {
			{  331,  331,  298,  287,  286,  286,
			   284,  281,  280,  261,  253,  224},   /*MAX*/
			{  331,  331,  298,  287,  286,  286,
			   284,  281,  280,  261,  253,  224} }, /*AVG*/
		.section = {
			20, 19, 18, 17, 16, 14, 12, 11,  8,  4,  1,  0}
	},

	[TX_3GTDD_DBM] = {
		.pa_power = {
			{ 2472, 2164, 1992, 1320, 1180,  900,
			   640,  556,  460,  328,  260,  244},   /*MAX*/
			{ 2472, 2164, 1992, 1320, 1180,  900,
			   640,  556,  460,  328,  260,  244} }, /*AVG*/
		.rf_power = {
			{  331,  331,  298,  287,  286,  286,
			   284,  281,  280,  261,  253,  224},   /*MAX*/
			{  331,  331,  298,  287,  286,  286,
			   284,  281,  280,  261,  253,  224} }, /*AVG*/
		.section = {
			20, 19, 18, 17, 16, 14, 12, 11,  8,  4,  1,  0}
	},

	[TX_4G_CC0_DBM] = {
		.pa_power = {
			{ 2472, 2164, 1992, 1320, 1180,  900,
			   640,  556,  460,  328,  260,  244},   /*MAX*/
			{ 2472, 2164, 1992, 1320, 1180,  900,
			   640,  556,  460,  328,  260,  244} }, /*AVG*/
		.rf_power = {
			{  331,  331,  298,  287,  286,  286,
			   284,  281,  280,  261,  253,  224},   /*MAX*/
			{  331,  331,  298,  287,  286,  286,
			   284,  281,  280,  261,  253,  224} }, /*AVG*/
		.section = {
			20, 19, 18, 17, 16, 14, 12, 11,  8,  4,  1,  0}
	},

	[TX_4G_CC1_DBM] = {
		.pa_power = {
			{ 2472, 2164, 1992, 1320, 1180,  900,
			   640,  556,  460,  328,  260,  244},   /*MAX*/
			{ 2472, 2164, 1992, 1320, 1180,  900,
			   640,  556,  460,  328,  260,  244} }, /*AVG*/
		.rf_power = {
			{  331,  331,  298,  287,  286,  286,
			   284,  281,  280,  261,  253,  224},   /*MAX*/
			{  331,  331,  298,  287,  286,  286,
			   284,  281,  280,  261,  253,  224} }, /*AVG*/
		.section = {
			20, 19, 18, 17, 16, 14, 12, 11,  8,  4,  1,  0}
	},

	[TX_C2K_DBM] = {
		.pa_power = {
			{ 1787, 1652, 1499, 1287, 1121,  986,
			   852,  629,  446,  292,  192,  124},   /*MAX*/
			{ 1787, 1652, 1499, 1287, 1121,  986,
			   852,  629,  446,  292,  192,  124} }, /*AVG*/
		.rf_power = {
			{  256,  250,  240,  234,  226,  220,
			   217,  197,  193,  185,  161,  155},   /*MAX*/
			{  256,  250,  240,  234,  226,  220,
			   217,  197,  193,  185,  161,  155} }, /*AVG*/
		.section = {
			24, 23, 22, 21, 19, 18, 16, 14, 11,  7,  3,  0}
	},

	[TX_NR_CC0_DBM] = {
		.pa_power = {
			{ 2732, 2608, 2304, 1704, 1248,  972,
			   916,  800,  708,  532,  480,  444},   /*MAX*/
			{ 2732, 2608, 2304, 1704, 1248,  972,
			   916,  800,  708,  532,  480,  444} }, /*AVG*/
		.rf_power = {
			{  622,  610,  608,  605,  600,  588,
			   570,  565,  562,  545,  523,  516},   /*MAX*/
			{  622,  610,  608,  605,  600,  588,
			   570,  565,  562,  545,  523,  516} }, /*AVG*/
		.section = {
			20, 19, 18, 17, 15, 13, 12, 11,  9,  6,  4,  0}
	},

	[TX_NR_CC1_DBM] = {
		.pa_power = {
			{ 2732, 2608, 2304, 1704, 1248,  972,
			   916,  800,  708,  532,  480,  444},   /*MAX*/
			{ 2732, 2608, 2304, 1704, 1248,  972,
			   916,  800,  708,  532,  480,  444} }, /*AVG*/
		.rf_power = {
			{  622,  610,  608,  605,  600,  588,
			   570,  565,  562,  545,  523,  516},   /*MAX*/
			{  622,  610,  608,  605,  600,  588,
			   570,  565,  562,  545,  523,  516} }, /*AVG*/
		.section = {
			20, 19, 18, 17, 15, 13, 12, 11,  9,  6,  4,  0}
	}
};

static struct rfhw_power_t rfhw1[TX_DBM_NUM] = {
	[TX_2G_DBM] = {
		.pa_power = {
			{  680,  420,  340,  268,  212,  172,
			   144,  120,  100,   86,   73,   60},   /*MAX*/
			{  680,  420,  340,  268,  212,  172,
			   144,  120,  100,   86,   73,   60} }, /*AVG*/
		.rf_power = {
			{  117,  117,  117,  117,  117,  117,
			   117,  117,  117,  117,  117,  117},   /*MAX*/
			{  117,  117,  117,  117,  117,  117,
			   117,  117,  117,  117,  117,  117} }, /*AVG*/
		.section = {
			31, 29, 27, 25, 23, 21, 19, 17, 15, 13,  9,  0}
	},

	[TX_3G_DBM] = {
		.pa_power = {
			{ 2472, 2164, 1992, 1320, 1180,  900,
			   640,  556,  460,  328,  260,  244},   /*MAX*/
			{ 2472, 2164, 1992, 1320, 1180,  900,
			   640,  556,  460,  328,  260,  244} }, /*AVG*/
		.rf_power = {
			{  331,  331,  298,  287,  286,  286,
			   284,  281,  280,  261,  253,  224},   /*MAX*/
			{  331,  331,  298,  287,  286,  286,
			   284,  281,  280,  261,  253,  224} }, /*AVG*/
		.section = {
			20, 19, 18, 17, 16, 14, 12, 11,  8,  4,  1,  0}
	},

	[TX_3GTDD_DBM] = {
		.pa_power = {
			{ 2472, 2164, 1992, 1320, 1180,  900,
			   640,  556,  460,  328,  260,  244},   /*MAX*/
			{ 2472, 2164, 1992, 1320, 1180,  900,
			   640,  556,  460,  328,  260,  244} }, /*AVG*/
		.rf_power = {
			{  331,  331,  298,  287,  286,  286,
			   284,  281,  280,  261,  253,  224},   /*MAX*/
			{  331,  331,  298,  287,  286,  286,
			   284,  281,  280,  261,  253,  224} }, /*AVG*/
		.section = {
			20, 19, 18, 17, 16, 14, 12, 11,  8,  4,  1,  0}
	},

	[TX_4G_CC0_DBM] = {
		.pa_power = {
			{ 2472, 2164, 1992, 1320, 1180,  900,
			   640,  556,  460,  328,  260,  244},   /*MAX*/
			{ 2472, 2164, 1992, 1320, 1180,  900,
			   640,  556,  460,  328,  260,  244} }, /*AVG*/
		.rf_power = {
			{  331,  331,  298,  287,  286,  286,
			   284,  281,  280,  261,  253,  224},   /*MAX*/
			{  331,  331,  298,  287,  286,  286,
			   284,  281,  280,  261,  253,  224} }, /*AVG*/
		.section = {
			20, 19, 18, 17, 16, 14, 12, 11,  8,  4,  1,  0}
	},

	[TX_4G_CC1_DBM] = {
		.pa_power = {
			{ 2472, 2164, 1992, 1320, 1180,  900,
			   640,  556,  460,  328,  260,  244},   /*MAX*/
			{ 2472, 2164, 1992, 1320, 1180,  900,
			   640,  556,  460,  328,  260,  244} }, /*AVG*/
		.rf_power = {
			{  331,  331,  298,  287,  286,  286,
			   284,  281,  280,  261,  253,  224},   /*MAX*/
			{  331,  331,  298,  287,  286,  286,
			   284,  281,  280,  261,  253,  224} }, /*AVG*/
		.section = {
			20, 19, 18, 17, 16, 14, 12, 11,  8,  4,  1,  0}
	},

	[TX_C2K_DBM] = {
		.pa_power = {
			{ 1787, 1652, 1499, 1287, 1121,  986,
			   852,  629,  446,  292,  192,  124},   /*MAX*/
			{ 1787, 1652, 1499, 1287, 1121,  986,
			   852,  629,  446,  292,  192,  124} }, /*AVG*/
		.rf_power = {
			{  256,  250,  240,  234,  226,  220,
			   217,  197,  193,  185,  161,  155},   /*MAX*/
			{  256,  250,  240,  234,  226,  220,
			   217,  197,  193,  185,  161,  155} }, /*AVG*/
		.section = {
			24, 23, 22, 21, 19, 18, 16, 14, 11,  7,  3,  0}
	},

	[TX_NR_CC0_DBM] = {
		.pa_power = {
			{ 2732, 2608, 2304, 1704, 1248,  972,
			   916,  800,  708,  532,  480,  444},   /*MAX*/
			{ 2732, 2608, 2304, 1704, 1248,  972,
			   916,  800,  708,  532,  480,  444} }, /*AVG*/
		.rf_power = {
			{  622,  610,  608,  605,  600,  588,
			   570,  565,  562,  545,  523,  516},   /*MAX*/
			{  622,  610,  608,  605,  600,  588,
			   570,  565,  562,  545,  523,  516} }, /*AVG*/
		.section = {
			20, 19, 18, 17, 15, 13, 12, 11,  9,  6,  4,  0}
	},

	[TX_NR_CC1_DBM] = {
		.pa_power = {
			{ 2732, 2608, 2304, 1704, 1248,  972,
			   916,  800,  708,  532,  480,  444},   /*MAX*/
			{ 2732, 2608, 2304, 1704, 1248,  972,
			   916,  800,  708,  532,  480,  444} }, /*AVG*/
		.rf_power = {
			{  622,  610,  608,  605,  600,  588,
			   570,  565,  562,  545,  523,  516},   /*MAX*/
			{  622,  610,  608,  605,  600,  588,
			   570,  565,  562,  545,  523,  516} }, /*AVG*/
		.section = {
			20, 19, 18, 17, 15, 13, 12, 11,  9,  6,  4,  0}
	}
};

#endif /* _MTK_MDPM_PLATFORM_DATA_H_ */
